﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Co_location
{
    class Program
    {
        const int SLEEP = 0;
        const int ACTIVITY = 1;
        const int FOOD = 2;
        const int ACT_REOUTPUTFEATURE = 3;
        const int SLEEP_PATTERN = 4;
        const int FOOD_PATTERN = 5;
        const int FOOD_LABEL_COR = 6;
        const int SLEEP_LABEL_COR = 7;
        const int ACT_LABEL_COR = 8;
        const int TRANS_READ_TRACE = 9;
        const int TRANS_READ_LABELS = 10;
        const int TEST = 10000;

        static void Main(string[] args)
        {
            
            //BewellActivity.MatchUp();

            //BewellActivity.OutputMatrix();

            //if (args.Length > 0)
            //{
            //    Food.setup(int.Parse(args[0]), double.Parse(args[1]), double.Parse(args[2]));
            //}
            //Food.ReadFoodCSV();

            //int type = FOOD_LABEL_COR;
            int workType = TRANS_READ_TRACE;
            switch (workType)
            {
                case SLEEP:
                    if (args.Length > 0)
                        BewellSleep.Setup(args);
                    BewellSleep.Run();
                    break;
                case ACTIVITY:
                    if (args.Length > 0)
                        BewellActivity.SetUp(args);
                    BewellActivity.Run();
                    break;
                case FOOD:
                    if (args.Length > 0)
                        FoodData.Setup(args);
                    FoodData.Run();
                    break;
                case ACT_REOUTPUTFEATURE:
                    BewellActivity.ReoutputFeature();
                    break;
                case SLEEP_PATTERN:
                    if (args.Length > 0)
                        BewellSleep.Setup(args);
                    BewellSleep.PatternRun();
                    break;
                case FOOD_PATTERN:
                    if (args.Length > 0)
                        FoodData.Setup(args);
                    FoodData.PatternRun();                        
                    break;
                case FOOD_LABEL_COR:                    
                    FoodData.OutputLabelCorrel();
                    break;
                case SLEEP_LABEL_COR:
                    BewellSleep.OutputLabelCor();
                    break;
                case ACT_LABEL_COR:
                    BewellActivity.OutputLabelCor();
                    break;
                case TRANS_READ_TRACE:
                    Transportation.Setup(args);
                    Transportation.ReadTransLabel();
                    //Transportation.ReadTransportation();
                    Transportation.ReadInSpeed();
                    Transportation.Output();
                    //Transportation.OutputLabelCor();
                    break;
                case TRANS_READ_LABELS:
                    Transportation.ReadTransLabel();
                    break;
                case TEST:
                    test();
                    break;
                default:
                    break;
            }

            Console.WriteLine("Mission Complete!");
            //Console.ReadLine();
        }

        static void test(){
            Dictionary<string, string> ss = new Dictionary<string, string>();
            ss.Add("1", "one");
            ss.Add("2", "er");            
            ss.Add("3", "san");
            foreach (string key in ss.Keys)
            {
                Console.WriteLine(ss[key]);
            }
            Console.ReadLine();
        }
    }
};